Edit Method Example

This example uses the Edit method to replace the current data with the specified name. The EditName procedure is required for this procedure to run.

Sub EditX()

   Dim dbsNorthwind As Database
   Dim rstEmployees As Recordset
   Dim strOldFirst As String
   Dim strOldLast As String
   Dim strFirstName As String
   Dim strLastName As String

   Set dbsNorthwind = OpenDatabase("Northwind.mdb")
   Set rstEmployees = _
      dbsNorthwind.OpenRecordset("Employees", _
      dbOpenDynaset)

   ' Store original data.
   strOldFirst = rstEmployees!FirstName
   strOldLast = rstEmployees!LastName

   ' Get new data for record.
   strFirstName = Trim(InputBox( _
         "Enter first name:"))
   strLastName = Trim(InputBox( _
         "Enter last name:"))

   ' Proceed if the user entered something for both fields.
   If strFirstName <> "" and strLastName <> "" Then
      ' Update record with new data.
      EditName rstEmployees, strFirstName, strLastName

      With rstEmployees
         ' Show old and new data.
         Debug.Print "Old data: " & strOldFirst & _
            " " & strOldLast
         Debug.Print "New data: " & !FirstName & _
            " " & !LastName
         ' Restore original data because this is a
         ' demonstration.
         .Edit
         !FirstName = strOldFirst
         !LastName = strOldLast
         .Update
      End With

   Else
      Debug.Print _
         "You must input a string for first and last name!"
   End If

   rstEmployees.Close
   dbsNorthwind.Close

End Sub

Sub EditName(rstTemp As Recordset, _
   strFirst As String, strLast As String)

   ' Make changes to record and set the bookmark to keep 
   ' the same record current.
   With rstTemp
      .Edit
      !FirstName = strFirst
      !LastName = strLast
      .Update
      .Bookmark = .LastModified
   End With

End Sub